        // START Waldman-Kagler
        for ( i = 0; i < nTypes; i++ ) {
          for ( j = 0; j < nTypes; j++ ) {
    	/* filling in the interaction matrices according to Lorentz-Berthelot mixing rules - ref: AllenTildesley, p.21 */
    	sig[ i ][ j ] = pow( ( pow( typeSigma[ i ], 6. ) + pow( typeSigma[ j ], 6. ) ) / 2., 1./6. );
    	sigSquared[ i ][ j ] = Sqr( sig[ i ][ j ] );
    	eps[ i ][ j ] = sqrt( typeEpsilon[ i ] * pow( typeSigma[ i ], 6 ) * typeEpsilon[ j ] * pow( typeSigma[ j ], 6 ) ) / pow( sig[ i ][ j ], 6 );
    	/* electrostatics pair-magnitudes */
    	productElectroMoments[ i ][ j ] = electroMoment[ i ] * electroMoment[ j ];
    	fprintf( fp, "item %6d: sig[ %d ][ %d ] = %.4f, sigSquared[ %d ][ %d ] = %.4f, eps[ %d ][ %d ] = %.4f \n",
    		 counter, i, j, sig[ i ][ j ], i, j, sigSquared[ i ][ j ], i, j, eps[ i ][ j ] );
    	fprintf( fp, "item %6d: productElectroMoments[ %d ][ %d ] = %.4f, \n", counter, i, j, productElectroMoments[ i ][ j ] );
    	++counter;
          }
        }
        // END Waldman-Kagler
    
